package com.ruoyi.farmwell.well.service;


import com.ruoyi.common.core.domain.TreeSelect;
import com.ruoyi.farmwell.well.domain.SysWell;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.List;

/**
 * 机井信息Service接口
 * 
 * @author ZJP
 * @date 2024-07-23
 */
public interface ISysWellService 
{
    /**
     * 导出excel
     *
     */
    public ByteArrayOutputStream insertQRCodeIntoTemplate(byte[] qrCodeBytes, String templateFilePath, SysWell well) throws IOException;
    /**
     * 查询机井信息
     * 
     * @param id 机井信息主键
     * @return 机井信息
     */
    public SysWell selectSysWellById(Long id);

    /**
     * 查询机井信息列表
     * 
     * @param sysWell 机井信息
     * @return 机井信息集合
     */
    public List<SysWell> selectSysWellList(SysWell sysWell);

    /**
     * 新增机井信息
     * 
     * @param sysWell 机井信息
     * @return 结果
     */
    public int insertSysWell(SysWell sysWell);

    /**
     * 修改机井信息
     * 
     * @param sysWell 机井信息
     * @return 结果
     */
    public int updateSysWell(SysWell sysWell);

    /**
     * 批量删除机井信息
     * 
     * @param ids 需要删除的机井信息主键集合
     * @return 结果
     */
    public int deleteSysWellByIds(Long[] ids);

    /**
     * 删除机井信息信息
     * 
     * @param id 机井信息主键
     * @return 结果
     */
    public int deleteSysWellById(Long id);

    List<TreeSelect> deptTreeWell(SysWell well);
}
